<!--
 * @Descripttion: 
 * @Version: 
 * @Author: gaohj
 * @Date: 2022-12-22 16:09:14
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2022-12-22 16:42:02
-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 比较运算符的结果一定是布尔类型?
        // 逻辑运算符的结果一定是布尔类型? 不一定 

        // && 

        // console.log(5>4 && 26>7); // true  两边都是true 结果true
        // console.log(7>6 && 8>9); // fale 两边有一个是false 结果false

        // ||
        // console.log(5>4 || 26<7); // true 两边有一个是true 结果true
        // console.log(5<1 || 6>7); // false 两边都是false 结果false

        // !
        // console.log(!1>10); // 0>10 false  
        // console.log(!(1>10)); // true



        // 其它类型转换成布尔类型

        // NAN  undefined null 0 '' "" '' 0.0 false  => false

        // 逻辑 && 如果不是表达式 
        // 会隐士转成布尔类型
        // 如果左右都是true 那么输出最右边的值 
        // console.log(123 && 456.5 && true && 'helloworld'); // helloworld
        // // 如果从左往右走的过程中 遇到false 那就停止向右
        // // 输入转为false的值  
        // console.log(123 && 456.6 && 0.0 && 'helloworld'); // 0 


        
        // 逻辑 || 如果不是表达式
        // 会隐士转成布尔类型
        // 如果遇到true 停止向右走 输出为true的值 
        // 如果都是false 那么输出最右边的值 
        // console.log('hello' || 456.6 || 789 || true || 'haha'); // hello    
        // console.log('' || 0.0 || NaN || false || 0);



        // 短路运算  


        // && 
        // 遇到false 停止向右走 输出false的值

        // console.log('hello world' && 123 && 0 && 'haha');// 0
        // // ||
        // // 遇到true 停止向右走 输出true的值
        // console.log('' || 123 || 0 || 'haha'); // 123


        // 注册用户 

        // 用户名必须是 6-30位 并且 不能为空  

        // var username = prompt('请输入用户名:');
        // 字符串的长度 length
        // console.log(username !== ''&& username.length>=6 && username.length<=30);
        // js不支持传递判断
        //6<=username.length <=30
        //6<=username.length 为true 后边就不判断了  
        // 范围的判断 应用上边的判断方式
        // 6<=username.length &&　username.length<=30  
        // console.log(username !=='' && 6<=username.length <=30);
    </script>
</body>
</html>